﻿package cn.hxsteel.storage.model.dao;

import java.util.List;

import org.springframework.stereotype.Repository;

import cn.hxsteel.model.vo.PageVO;
import cn.hxsteel.storage.core.base.BaseDAO;
import cn.hxsteel.storage.model.po.CompanyPO;
import cn.hxsteel.storage.model.vo.SelectOptionVO;

/**
 * 公司的数据访问对象
 */
@Repository
public class CompanyDAO extends BaseDAO< CompanyPO, Integer >
{
    /**
     * 按公司名称查询公司对象
     * 
     * @param name 公司名称
     */
    public CompanyPO selObjectByName( String name )
    {
	return null;
	// return selProcObj( "P_Company_obj_sel_2", name );
    }
    
    /**
     * 按UID查询公司列表
     * 
     * @param uid 创始人ID
     */
    public List< CompanyPO > selObjectByUID( int uid )
    {
	return null;
	// return selProcList( "p_Company_list", uid );
    }
    
    /**
     * 按id查询公司列表
     * 
     * @param id 公司ID
     */
    public CompanyPO selObjectByID( int id )
    {
	return null;
	// return selProcObj( "P_Company_obj_sel", id );
    }
    
    /**
     * 按ID和name查询公司名称
     * 
     * @param id 公司ID
     * @param name 公司名称
     */
    public CompanyPO selObjectByNameAndID( int id, String name )
    {
	return null;
	// return selProcObj( "P_Company_obj_sel_1", id, name );
    }
    
    /**
     * 按UID和name查询公司分页
     * 
     * @param pageNo 页码
     * @param pageSize 每页记录数
     * @param uid 公司UID
     * @param name 公司名称
     */
    public PageVO< CompanyPO > selPageByNameAndUID( int pageNo, int pageSize, int uid, String name )
    {
	return null;
	// return selProcPage( "p_Company_page", pageNo, pageSize, uid, name );
    }
    
    /**
     * 按创始人标识、公司名称查询公司列表
     * 
     * @param uid 创始人标识
     * @param name 公司名称
     * @return
     */
    public List< SelectOptionVO > selCompanyList( int uid, String name )
    {
	return null;
	// return (List< SelectOptionVO >) selExProcList( SelectOptionVO.class, "p_Company_list_2", uid, name );
    }
}